home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / utility / utilrexx / mdmbrttr.lha / add_my-bretter / My-BRETTER.mdbrexx < prev    next >
Text File  |  1996-12-02  |  7KB  |  219 lines

  1. /*
  2. $VER: My-Bretter V1.4 by Claus Dilly
  3. E-Mail: TANGRAM@EAGLE.mcnet.de
  4. Tel.  : 0911/597035
  5. */
  6. /*
  7. ----------------------------------------------------------------------------------
  8.  
  9. V1.0 : - Dieses Script benötigt: Microdot V1.x
  10.          -------------------------------------
  11.  
  12.        - Dieses Script bestellt alle Bretter, falls die Box mal einen
  13.          Crash erlitten hat und die bestellten Point-Bretter nicht mehr
  14.          herstellen kann.
  15.  
  16.        - Dafür muß in regelmäßigen Abständen die Brettliste bestellt werden,
  17.          welche die bestellten Bretter des Points auflistet.
  18.  
  19.        - Dies macht man mit dem MAPS-Befehl: LIST MY BRETTER
  20.  
  21.        - Diese Brettliste muß dann ausgelagert werden.
  22.          z.B. nach: "Microdot:My-Bretter"
  23.  
  24.        - Installation: Dieses Script (incl. Icon) kopieren nach: "Microdot/Rexx/"
  25.          -------------
  26.  
  27.          Beim Neustart von MD erscheint im Menü "REXX/Brett-Makros" das Menü
  28.          "My-Bretter", welches dann angewählt werden kann.
  29.  
  30.        - Die Variablen "OldList" und "NewList" müssen bei Bedarf noch
  31.          angepasst werden.
  32.  
  33.          OldList = Pfad incl. Filename der ausgelagerten Brettliste
  34.          NewList = Pfad incl. Filename der Liste der Bretter die
  35.                         bestellt werden
  36.  
  37.          Diese beiden Variablen stehen nach diesem Kommentar weiter unten und
  38.          müssen dort editiert werden.
  39.  
  40. ----------------------------------------------------------------------------------
  41.  
  42. V1.1 : - Abfrage eingebaut, ob die Brettliste existiert, wenn nicht,
  43.          dann erscheint ein Hinweisrequester und es wird abgebrochen.
  44.  
  45. ----------------------------------------------------------------------------------
  46.  
  47. V1.2 : - Es wird die Rexxtricks.library V38.x benötigt
  48.  
  49.        - Script prüft, ob es von MD gestartet wurde, wenn nicht,
  50.          dann wird abgebrochen
  51.  
  52.        - Requeseter eingebaut, in dem man nun die einzelnen Bretter se-
  53.          lektieren kann, welche bestellt werden sollen (oder auch alle).
  54.  
  55. ----------------------------------------------------------------------------------
  56.  
  57. V1.3 : - Die einzelnen Einstellungen der Points werden nun via Tooltypes
  58.          im Icon dieses Scripts vorgenommen
  59.          (My-Bretter.info)
  60.  
  61. ----------------------------------------------------------------------------------
  62.  
  63. V1.4 : - Versions-Überprüfung der rexxtricks.library (mind. V38.6)
  64.  
  65.        - Im Fentser oben rechts nun Bretteranzahl (nicht bei zu großem Font)
  66.          Bretter: 44/49   bedeutet: von 49 Bretter können nur 44 bsetellt
  67.                                     werden. Der Rest sind Pflichtbretter.
  68.  
  69.        - Überprüfung, ob der Name dieses Scripts geändert wurde, da sonst
  70.          die Einstellungen vom Icon nicht gefunden werden können.
  71.  
  72. ----------------------------------------------------------------------------------
  73. */
  74.  
  75. /* >>>>>>>>>>   Ab hier nichts mehr ändern !!!!!!   <<<<<<<<<< */
  76.  
  77. PATH=PRAGMA(''D'')
  78. LF = '0A'x
  79.  
  80. options results
  81.  
  82. IF Left(ADDRESS(),8) ~= "MICRODOT" THEN DO
  83.         SAY LF "MDRequest" LF LF LF "Fehler: Dieses Script",
  84.                  "kann nur von Microdot aus gestartet werden" LF
  85.         EXIT
  86. END
  87.  
  88. IF ~SHOW('LIBRARIES','rexxtricks.library') THEN
  89.    IF ~ADDLIB('rexxtricks.library',5,-30,38) THEN DO
  90.       REQUEST '"Kann rexxtricks.library nicht öffnen"' '"Tjo"'
  91.       EXIT
  92.    END
  93.  
  94. verstr = REXXTRICKSVERSION(); rtv = '38.6'
  95. IF verstr < rtv THEN DO
  96.    CALL BEEP()
  97.    text =  " Sorry, aber die momentan installierte Rexxtricks.library*N",
  98.            "               ist leider nicht geeignet.*N*N",
  99.            "Installiert ist Version" verstr ||", benötigt wird Version " || rtv
  100.    REQUEST '"'text'"' '"Dumm gelaufen"'
  101.    EXIT
  102. END
  103. DROP verstr rtv
  104.  
  105. ICON=PATH"/REXX/My-Bretter.mdbrexx"
  106.  
  107. IF ~exists(ICON) THEN DO
  108.    CALL BEEP()
  109.    text = "            Sie haben dieses Script umbenannt.*N*N",
  110.           "       Der Name dieses Scripts ist festgelegt auf:*N",
  111.           ">> My-Bretter.mdbrexx <<, deshalb kann das Icon*N",
  112.           "    mit den Einstellungen nicht gefunden werden."
  113.    REQUEST '"'text'"' '"Ist ja schon gut"'
  114.    EXIT
  115. END
  116.  
  117. Oldlist = UPPER(GETTOOLTYPEVALUE(ICON,'OldList'))
  118. Newlist = UPPER(GETTOOLTYPEVALUE(ICON,'NewList'))
  119. hoch    = UPPER(GETTOOLTYPEVALUE(ICON,'Req-H'))
  120. breit   = UPPER(GETTOOLTYPEVALUE(ICON,'Req-B'))
  121.  
  122. IF ~exists(OldList) THEN DO
  123.    oldl =  "' "||OldList||" '"
  124.    text =  'Unter dem Pfad-/ Filenamen  '||oldl||'*N',
  125.            '        konnte keine Brettliste gefunden werden !*N*N',
  126.            '   Bitte überprüfen Sie den Pfad- und Filenamen !'
  127.    REQUEST '"'text'"' 'OK'
  128.    CALL ENDE
  129. END
  130.  
  131. ALT  = OPEN('in',oldlist,'R')
  132. NEU  = OPEN('out',newlist,'W')
  133.  
  134. IF ~NEU THEN DO
  135.    text =  "Konnte die neue Brettliste nicht erzeugen !"
  136.    REQUEST '"'text'"' 'OK'
  137.    CALL ENDE
  138. END
  139.  
  140. z=0
  141. p=0
  142.  
  143. DO while ~eof('in')
  144.    IF ALT THEN DO
  145.       DO while ~eof('in')
  146.          line=upper(readln('in'))
  147.          SELECT
  148.             WHEN left(line,1)='!' THEN DO
  149.                p=p+1
  150.                z=z+1
  151.                leave
  152.             END
  153.             WHEN left(line,1)='+' THEN line = substr(line,3)
  154.             WHEN left(line,1)='/' THEN line = line
  155.             WHEN line="" THEN leave
  156.          END
  157.          CALL WRITELN('out',line)
  158.          z=z+1
  159.       END
  160.    END
  161. END
  162.  
  163. CALL CLOSE('in')
  164. CALL CLOSE('out')
  165.  
  166. a=z-p
  167.  
  168. VERS="ADD My-Bretter V1.4   © 30.11.1996 by Claus Dilly" 
  169.  
  170. fenster.title      = ''||VERS||'         (Bretter: '||a||'/'||z||')'
  171. fenster.gadgettext = '_Bestellen|_Abbruch'
  172. fenster.pubscreen  = 'MICRODOT'
  173. fenster.font       = 'DEFAULT'
  174. fenster.sort       = TRUE
  175. fenster.width      = breit
  176. fenster.height     = hoch
  177.  
  178. IF ~READFILE(NewList,'NEU1') THEN DO
  179.    text =  'Unter dem Pfad-/ Filenamen  '||newlist||'*N',
  180.            '        konnte keine Brettliste gefunden werden !*N*N',
  181.            '   Bitte überprüfen Sie den Pfad- und Filenamen !'
  182.    REQUEST '"'text'"' 'OK'
  183.    CALL ENDE
  184. END
  185.  
  186. DO UNTIL res=1
  187.    res=VIEWLIST('NEU1','fenster','NEU2')
  188.    SELECT
  189.       WHEN NEU2.gadget=0 THEN DO
  190.          text = "Aha, es soll also nichts bestellt werden !"
  191.          REQUEST '"'text'"' '"So isses"'
  192.          CALL ENDE
  193.          END
  194.       WHEN NEU2.gadget=1 THEN DO
  195.          IF res=0 THEN ITERATE
  196.          BODY1 ="»»»»»»»»     Diese Nachricht wurde automatisch erzeugt     ««««««««"
  197.          BODY2 ="»»»»»»»» "||VERS||" ««««««««"
  198.          nl    =" "
  199.          STEMINSERT('NEU2',1,1,nl)
  200.          STEMINSERT('NEU2',1,1,BODY2)
  201.          STEMINSERT('NEU2',1,1,BODY1)
  202.          WRITEFILE(NewList,NEU2)
  203.          END
  204.    END
  205. END
  206.  
  207. SENDMAIL 'TO=MAPS BODYFILE='||NewList||' SUBJECT=ADD'
  208. NEU=NEU2.0-3
  209. text =  "  Von "||z||" Brettern wurden "||NEU||" Bretter angefordert.*N*N",
  210.         " In der Brettliste waren "||p||" Pflichtbretter, welche*N",
  211.         "           automatisch zugewiesen werden !"
  212. REQUEST '"'text'"' 'OK'
  213.  
  214. ENDE:
  215. ADDRESS COMMAND 'delete >nil: 'NewList
  216. ADDRESS COMMAND 'delete >nil: 'OldList'_0#?'
  217.  
  218. EXIT
  219.